The Java Platform Enterprise Edition (Java EE) provides an industry-standard specification by which Java software applications can be developed for use within an enterprise environment. Such software applications can then be run in an appropriate application server, for example, an Oracle WebLogic Server.
Application servers which conform to the Java EE specification are generally designed to be extensible, by providing interfaces that allow for embedding of third-party components. Embedded components benefit from the infrastructure provided by the application server, for example its clustering, transaction, and security support. Such embedded components can be used to augment the capabilities of the application server with additional functionality and services, such as portals, business process management, and cloud support.
Technologies such as OSGi also enable third-party components to be integrated into the application server environment in a modular fashion.
A typical enterprise environment supports clustering of a plurality of application server instances, which can then be managed as a logical domain. Preferably, the configuration of embedded components should be similar among all clustered instances within a domain. This allows the functionality and services provided by the embedded components to be distributed throughout the cluster, which in turn enables fault-tolerance and improved throughput.
However, in some application server environments, an embedded component may be required to use its host's proprietary configuration synchronization interface to replicate its configuration to other clustered instances. This creates lock-in of the embedded component implementation with its host application server. In other environments, the host application server may not provide interfaces for synchronization of configuration across its clustered instances, in which cases an embedded component developer is forced to either use a proprietary interface, or not support clustering. These are generally the types of environment in which embodiments of the invention can be used.